Modern networks may be configured for the purpose of data communication and to provide advanced services such as firewall protection, intrusion detection, acceleration, encryption, multiplexing, steering, load-balancing, caching, compression and optimization. Traditionally, advanced services were implemented as hardware appliances and were inserted at or near the relevant network components, such that all the traffic entering or leaving a network was enforced by a set of pre-installed appliances.
Virtualization has led to large-scale consolidated data centers running multi-tenant workloads. In such environments, a relatively large portion of the data flow is internal to the data center. As such, advanced network services are inserted inside the data center to take into account workload life cycle changes (e.g., migration, elastic growth, etc). Network functions (NF) that support the advanced network services may be virtualized for the purpose of dynamic deployment and migration. As a result, in modern networking environments (e.g., enterprise data centers), both hardware and software NF appliances may be deployed in the path of network traffic.
Unfortunately, hardware and software NF appliances are data and computation intensive and introduce substantial overhead in network management and traffic, leading to an increase in the response time latency. In a virtualized environment, the latency is even worse due to the additional virtualization overhead. When network size increases, the overall network load increases as well and more data requests must be serviced by the appliances. This increases the computational and the management costs and results in bandwidth shortage in the network, thus limiting the possibility for scaling the availability of the advanced services.